package com.leap.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.leap.entity.AccountCategoryView;
import com.leap.entity.Article;
import com.leap.entity.dto.ArticleDTO;
import com.leap.entity.dto.ArticleUploadDTO;
import com.leap.entity.vo.ArticleVO;
import com.leap.entity.vo.HistoryVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

public interface ArticleService extends IService<Article> {


    //获取特定文章详细信息
    ArticleDTO getInfoByArticleId(Long articleId);

    //搜索栏模糊搜索文章
    List<ArticleVO> selectByTitile(String title, int category,Long accountId,int page);

    List<ArticleVO> selectByToken(String headerToken,int isVideo);

    ArticleUploadDTO saveDTO(ArticleUploadDTO articleDTO);

    void updateDTO(ArticleUploadDTO articleDTO);

    void deleteDTO(Long articleId);

    void saveHistory(String title, String headerToken);

    List<HistoryVO> getHistory(String headerToken);

    ArticleUploadDTO getUploadDTOByArticleId(Long articleId);

    void countCategoryView(Long articleId, String headerToken);

    void clearRedisCache();

    void refreshArticleSumCache();

    void deleteAllInteract(Long articleId);

    void increseBrowseNum(Long articleId);


}
